Method and equipment for the use of a distributed database and the application utilizing the database independently from the terminal

ABSTRACT

A method that enables the use of distributed database and the application utilizing it independently from the terminal or the type of the terminal. The information of the distributed database ( 303, 305, 403, 405,407 ) is used in the terminal ( 301, 401 ) in a way that the local database ( 303, 403 ) is processed with the help of the management unit. ( 306,406 ). The query results gained from the local database ( 303, 403 ) are transmitted via the management unit ( 306, 406 ) to the browser application ( 302, 402 ) of the terminal ( 301, 401 ). With the help of the terminal&#39;s ( 301, 401 ) browser application ( 302, 402 ) the query results are presented to the user.

INTRODUCTION AND BACKGROUND

[0001] This invention concerns a method and equipment with the help ofwhich a distributed database and the application utilizing the databasecan be used independently from the terminal and the terminal type.

[0002] Distributed databases and especially the synchronization of thechanged data related to them have been traditionally considereddifficult and risky.

[0003] Because of this, one has avoided using distributed databases andhas instead used a centralized database with the appropriate terminalconnections.

[0004]FIG. 1 presents a solution that is in accordance with a well-knowntechnical solution, in which the data is stored and saved using acentralized database.

[0005] Terminal 101 makes a query, which will be directed to themanagement system 102.

[0006] Database management interface 102 retrieves the informationreturned by the query from the database 103.

[0007] The information found is returned from database 103 via amanagement interface in 102 to the querying terminal 101.

[0008] In this kind of solution the requesting terminal 101 has to havesome type of a connection to the database management interface 102.

[0009] If the terminal 101 is out of reach of a certain networkconnection, the data cannot be retrieved.

[0010] Naturally, there are known technical implementations ofdistributed databases and methods for using them.

[0011]FIG. 2 presents a distributed database.

[0012] In the solution presented in FIG. 2, the database managementinterface 202 is integrated into the terminal 201. Due to this theconnection between those does not have to be established separately.

[0013] The database management interface 202 communicates with the localdatabase 203 and is able to use a local connection to retrieve data.

[0014] At the simplest the local database 203 and the managementinterface 202 are both integrated into the terminal 201.

[0015] On the other hand, the local database 203 can locate in a localarea network. In this case there is a local area network connectionbetween the database management interface 202 and the terminal 201 orbetween the database management interface 202 and local database 203.

[0016] The local database 203 is from time to time connected to theserver database 205.

[0017] The data in these two databases 203 and 205 is updated by someknown synchronization method 204.

[0018] These synchronization functions 204 can be handled e.g. with aknown method released by Oracle corporation or with a server-client pairknown from the SyncML-protocol released by SyncML-consortium.

[0019] The synchronization of databases guarantees, that the data inboth databases is consistent and especially that the latest informationwill be updated, regardless of whichever database it was inserted orupdated to.

[0020] In the method described in FIG. 2, the terminal 201 has to beable to use the information retrieved from the database.

[0021] In practice, the application, which takes into consideration theterminal type, has to be stored to the terminal. This way the data canbe presented to the user in a most intelligible way, taken intoconsideration the physical properties of the user interface integratedto the terminal type.

[0022] Additionally, without thorough re-programming, one terminal canbe used to present only the kind of data it was originally designed for.

SUMMARY OF THE INVENTION

[0023] It is an object of this invention is to present a method andequipment, which enables the utilization of the data retrieved from thedatabase independently from the type of the terminal.

[0024] Another object of the invention is to present a method andequipment which enables the flexible usage of a distributed database.

[0025] Furthermore, an object of the invention is to present a systemthat utilizes a distributed database and can be easily modified fordifferent kind of purposes.

[0026] According to the invention, either in the terminal or in itsclose proximity there is a local database and a management unit meant toutilize it. The management unit transmits the queries to the databaseand processes the results received from the database.

[0027] However, the invention does not presume that the management unitis able to directly present information to the user through the userinterface, or to receive commands from the user via the user interfaceof the terminal.

[0028] For this purpose there is a browser in the terminal, that canprocess pages represented with a certain standardized method, which onthe priority date of this patent application are typically HTML-pages.

[0029] The browser application is also tailor-made to be compatible withthe terminal's physical user interface. Using the functionalities ofthis physical user interface a conventional TCP/IP-connection can beestablished to the desired network.

[0030] The software user interface of the equipment in accordance withthe invention is composed of a group of HTML-pages stored locally in theterminal. These pages can be loaded to the display of the terminal withthe browser-application.

[0031] These pages to be presented include sections that are not meantto be understood by the browser-application, but to tell the databasemanagement unit which function related to the database management thesesections relate to.

[0032] On the priority date of the patent application the sectionsmentioned are SQL (Structured Query Language)-queries. These queries canbe separated from the rest of the page description with separatingcharacters, also known as tags.

[0033] When a user wants to query information through the page he sees,he will present the request by e.g. keying in the information used as asearch key to a search field and clicking a press-button <RETRIEVE>.

[0034] The information of the request will be transmitted to thedatabase management unit, which knows what kind of (SQL)-query isrelated to that particular part of the (HTML)-page.

[0035] The database management unit transmits the query and theinformation possibly given by the user to the database.

[0036] The result of the query will be received by the management unit,which can transmit it according to the original HTML/SQL-language pageto the browser application in a way that the results can be presented inthe right place in the terminal's user interface as clear, in this caseHTML-language data.

[0037] This data can be retrieved in principle from whichever SQL-baseddatabase or from a database in accordance with the predetermined format.

BRIEF DESCRIPTION OF THE DRAWING

[0038] The present invention will be further understood with referenceto the accompanying drawings, wherein:

[0039]FIG. 1 illustrates a system based on known technology;

[0040]FIG. 2 illustrates another system based on known technology;

[0041]FIG. 3 illustrates a system according the to the invention;

[0042]FIG. 4 illustrates a system that is based on another method of theinvention;

[0043]FIG. 5a illustrates a function based on one of the invention'smethods; and

[0044]FIG. 5b illustrates a function that is based on invention's othermethod.

DETAILED DESCRIPTION OF THE INVENTION

[0045]FIGS. 1 and 2 have already been explained in the known technicaldescription.

[0046] In FIG. 3 there is one solution based on the invention's method,in which the terminal 301 is connected to a local database 303 throughmanagement unit 306.

[0047] In the terminal there is the browser application 302, the purposeof which is to present HTML-pages formatted to the terminal on itsdisplay. The browser application also provides the user a possibility togive commands and other input data concerning certain points of (HTML-)pages and to organize the formation of data transmission connections andtheir controlled maintenance via a physical network connection to thenetwork, from which it is possible to upload (HTML-) pages.

[0048] The terminal's physical user interfaces have not beenstandardized in any way, so e.g. the sizes and resolutions vary a lot.

[0049] In the same way there can be keyboard, mouse, limited group ofcontrol keys, guide roller, touch pen, joystick, voice control or someother kind of device or a combination of these kinds of devices.

[0050] In practice the manufacturer of the terminal usually provides atailor-made browser with the terminal. This browser can transmit andreceive information from the network using a certain standardizednetwork protocol. (e.g. HTTP+TCP/IP); HyperText TransferProtocol+Transmission Control Protocol/Internet protocol).

[0051] The browser is able to take the special features of the displayand the data input devices into consideration.

[0052] At this point it is mainly presumed that the browser is able toshow the page on the display using a language typically used for thispurpose and to receive input data, which is related to the particularsections of this kind of a page.

[0053] These pages have been produced using some structured language,HMTL-language or XML-language for example.

[0054] The possibility to separate the structure of the language fromthe actual content is essential, so that the structural sections can behandled in desired way.

[0055] The software user interface means the electrically storedinformation that controls what will be presented to the user and how theuser is able to give input data.

[0056] In FIG. 3 the software user interface of distributed databasesystems is composed of a group of pages to be shown in on the display.These pages are produced with a predetermined, structured language.

[0057] In this example the pages have been produced in HTML-language.

[0058] These HTML-pages can be designed to a certain appearance andcontent, e.g. for all employees of some company.

[0059] In addition, or instead of this, the software user interfacecomposed of HMTL-pages can be modified according to wishes of each user.

[0060] Certain properties and functions included in these HTML-pages area part of the software user interface.

[0061] When a user wishes to retrieve the instructions for a certain jobor information about one of his customers, he can present the request tohis terminal 301 by keying in the necessary search phrases to the fieldsthat are a part of certain HTML-page. The browser then presents them inthe terminal screen under the circumstances.

[0062] The browser 302 reacts to this given input data like it wouldreceive a request to retrieve certain content from a certain source: theinterface from the browser to the management unit 306 in this matteracts in the same way as known interfaces from the browser to known datasources.

[0063] The request that contains the search phrases and/or other inputinformation is transmitted to the management unit 306. The managementunit retrieves the query code, which can be in SQL-language, andattaches possible search phrases given by the user to it.

[0064] In this case this produces an SQL-language query, which themanagement unit 306 transmits to the database 303.

[0065] Information can be queried from databases to which the user hasprivileges and which can be handled by the management units.

[0066] The database 303 transmits the query results to the managementunit 306.

[0067] Now the task of the management unit 306 is to outline the resultsso that they can be delivered to the browser 302, which furthermorepresents the results to the user in the terminals 301 screen.

[0068] The results of the query are therefore located in the rightsection of the user's display in a predefined order and format.

[0069] Many advantages are gained by using a browser.

[0070] The browser is usually pre-installed or at least easilyinstallable to all appropriate terminal types.

[0071] The usage of browsers will become more common when almost anyterminal will be equipped with Internet-connection.

[0072] The manufacturers of the terminals plan to tailor-make thebrowsers suitable to each terminal type.

[0073] On the other hand, the browser forms a standard softwareinterface to the management unit, when the management unit itself doesnot have to take into consideration the special properties of theterminal type.

[0074] One of the properties of HMTL-language and other similar pagedescription languages is the possibility to include sections separatedwith characters also known as tags into the page. These sections do nothave to be understood by all of the applications processing the pages.

[0075] Now the management unit processes (in this example SQL-language)query sections enclosed with tags, transforms them into a form which canbe understood by the browser and forwards the whole page in a form thatthe browser understands the structure and can present the page, e.g. inXML- or HTML-format.

[0076] The management unit can be generated so that it can combinecertain parts of the structured page to certain queries directed to thedatabase.

[0077] In addition, the management unit can attach the input data fromthe browser to the (SQL-language) query, and this way form complete(SQL-language) queries that can be transmitted directly to the database.

[0078]FIG. 3 presents also a server database 305 that is not in theterminal 301 or in its close proximity.

[0079] The server database 305 and the local database 303 forms a simpledistributed database.

[0080] To make the data in these databases as consistent as possible, asynchronization method 304 is required.

[0081] From the inventions point of view it is not essential, whatparticular synchronization method will be used, as long as somearrangement of this kind exists.

[0082] A useful synchronization method is a server-client paircompatible with SyncML-protocol. A SyncML client would locate in theterminal or otherwise in communion of the local database 303. The SyncMLserver would locate in the communion of the server database 305.

[0083] SyncML client has database connection to terminal database (it'susually on same machine). On the server side SyncML server and databasecan also be in different machines, but those machines are connected toeach other usually with TCP/IP protocol. So communion means basicallythat SyncML client/server has some kind of connection to database.

[0084] Next the initializing of the terminal is explained; this meansloading the local database and the pages to be presented into theterminal memory.

[0085] Assume for example that the server database 305 includesinformation about home service company's clients and about thetimetables of the company's employees.

[0086] In addition, the server database includes a programmable userinterface of an employee. With this we mean the pages that are designedto fill the likes and needs of the employee.

[0087] Initialization means that the user connects to the serverdatabase with his terminal and enters a command. Due to this, part ofthe information in the server database 305 is copied to the localdatabase 303.

[0088] The user can choose the amount of copied information according tohis needs.

[0089] The information includes e.g. the programmable user interface ofthe user plus all the information, which involves the work schedule ofthe employee on that day and the clients he is supposed to visit.

[0090] Initialization means for example that we are able to use anyterminal for the expression of information.

[0091] The user can initialize any equipment, that is equipped with abrowser and then upload a desired user interface and information to hisuse.

[0092] It is possible to use a fixed terminal at the office. At theactual working destination, e.g. the work instructions can beconveniently retrieved to the portable display or the information can bedownloaded to a mobile communicator.

[0093] The user updates the database during his work.

[0094] The employee can e.g. download the job instructions and dailytasks to his terminal and to mark the job as done in phases.

[0095] This way it is simple to control jobs occurring in differentlocations as a whole.

[0096] Work phases and work progress can be monitored in real time.

[0097]FIG. 4 presents a method, where the users terminal 401 canretrieve data also directly from the server database 405 or from someother server 409.

[0098] The databases 403,405,409 can all be SQL-based, but this is notan unconditional prerequisite from the inventions point of view: inprinciple, the management units 406,407, 408 can be designed so thatbesides SQL-queries they are able to form queries to any other datasource.

[0099] The situation in FIG. 4 can come up when the user retrieves datato his terminal 401 from the local database.

[0100] Let us first assume that the user presents a request to thebrowser 402 with a known method, after which the management unit 406transmits the query to the local database 403, as presented earlier.

[0101] The management unit 406 receives the results from the localdatabase 403, and transforms it into a form understood by the browser402.

[0102] Now the results retrieved to the display can include queries e.g.to the server database 405 or to some other servers database 409.

[0103] According to this method the presented page, which includescross-references to external databases 405,409 will be created from theinformation retrieved from the local database.

[0104] Due to the user's input a connection to the management unit 407of server database 405 is formed from the browser 402 or to themanagement unit 409 of an external server's database 409.

[0105] It is clear that in the method in FIG. 4 allows that the originalpages may also include references to external databases.

[0106] With regard to the method in FIG. 4: connections to other than tothe local database require generating a network connection as well, e.g.a TCP/IP-connection.

[0107] If a connection to the external management units 407,408 cannotbe established, the required queries and information cannot betransmitted.

[0108] The use described above would be a big help e.g. for a freelanceworker, who could load his current employers user environment with allthe information and instructions included to

[0109] This way the employee is free to change the user environment andthe employer anytime.

[0110] Simply uploading a new user environment to the users terminaldoes all this. No additional equipment is needed.

[0111]FIGS. 5a and 5 b present how the equipment of inventionsinexpensive method functions.

[0112] Let us examine FIG. 5a first.

[0113] On the account of the functioning, the system memory of theuser's terminal, which includes a programmable user interface, e.g.presentable HTML-pages, and the local database, that includes merelydatabase information, are detached from each other.

[0114] At first, when the user wishes to initialize a certain section ofthe database and a certain programmable user interface 501 to his use,the management unit retrieves the initialization information from theserver database 502.

[0115] The results of query are transmitted to the management unit 503that stores desired results to the memory 504 of the terminal system andto the local database 505.

[0116] In addition, the results are transmitted to the browser formonitoring in the user interface.

[0117] Now the user is able to choose a certain function, e.g. a list ofclients that have to be visited on that day.

[0118] The user enters a starting command e.g. with keyboard or with atouch pen. The starting command is transmitted to browser 506 andfurthermore to the management unit 507.

[0119] In this example, the management unit retrieves, on ground of thestarting command an HTML/SQL-page from the system memory.

[0120] If needed, the information that is based on the query can beretrieved from a local database 509.

[0121] The page retrieved from the database can be saved to the systemmemory 510, from which the desired page is transmitted to the localmanagement unit 511.

[0122] The management unit now transmits the page in HTML-format tobrowser 512, which transmits it to the display 513 for presentation.

[0123] The user has now a desired page view on his display that is inaccordance with his personal user interface.

[0124] Next the user is able to retrieve, change, add or removeinformation.

[0125] The user enters an input data that the user interface transmitsto browser 514. The browser transmits the input data further tomanagement unit 515 that forms a SQL-query based on the input data. Thisquery is then sent to local database 516.

[0126] The management unit receives the answers from database 517 andedits them to a form in which they can be directly presented for examplein HTML-format.

[0127] The retrieved information in correct format is transmitted tobrowser 518, which transmits it to display 519 for presentation. Afterpoint 514, as the user has his individual user interface in his use, wemay continue according to method presented in FIG. 5b.

[0128] In point 520 the input data of the user is transmitted from userinterface to the browser.

[0129] The browser then transmits the input data of this method to themanagement unit of another server through a known network connection521.

[0130] The management unit of the server transmits the query it hasedited to the database 522 of the external server and receives theresults 523.

[0131] Furthermore, the management unit of the server edits the resultsso that they are in a format accepted by a receiving browser and sendssearch results in correct format to browser 524, which transmits them todisplay 525 for presentation.

[0132] Further variations and modifications of the foregoing will beapparent to those skilled in the art and are intended to be encompassedby the claims appended hereto.

[0133] Finland priority application 20010724 is relied on andincorporated herein by reference.

We claim:
 1. A method for utilizing information stored in distributeddatabase with a terminal comprising: utilizing a local database via amanagement unit; transmitting query results from said local databasethrough the management unit to a browser application in the terminal;and presenting query information to the user with the browserapplication in the terminal.
 2. A system for the use of distributeddatabase in a terminal comprising: a terminal including a browserapplication; a local database in the immediate contiguity of theterminal and a management unit in order to process the local database toa appropriate format and to transmit the query results gained fromdatabase to the browser application; and said browser application of theterminal being organized to present the query results gained from thedatabase with the terminal.